<?php

namespace App\Models\Sms;

use App\Models\BaseModel;

class SmsconfExpressModel extends BaseModel
{
    /**
     * 与模型关联的数据表。
     *
     * @var string
     */
    protected $table = 'sms_express_conf';

    /**
     * 可以被批量赋值的属性。
     *
     * @var array
     */
    protected $fillable = array(
        'sms_tmp_id',
        'sms_tmp_name',
        'goods_id',
        'goods_name',
        'is_phone',
        'express_status',
        'express_status_desc',
        'dist_id',
        'dist_name',
        'status',
        'delay',
        'shop_id',
        'shop_str',
        'created_by',
        'created_by_name',
        'created_at',
        'updated_by',
        'updated_at',
        'goods_code',
        'product_id',
        'product_code',
        'product_name'
    );
    // public $timestamps = false; // 防止updated_at 报错

    public function aliasRable($alias)
    {
        return $this->setTable($alias);
    }
    protected function serializeDate(\DateTimeInterface $date)
    {
        return $date->format('Y-m-d H:i:s');
    }
    /**
     * 查询数据需要过滤掉的属性。
     *
     * @var array
     */

    protected $hidden = array(
        'updated_at'
    );
    //返回关键字段
    public function getTableField()
    {
        return $this->fillable;
    }
    /**
     * 建表语句
     */
    protected function buildTable($name = '')
    {
        $tablename = $this->table;
        if (!empty($name)) {
            $tablename = $name;
        }
        $table  = "CREATE TABLE IF NOT EXISTS  $tablename (
        `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
        `sms_tmp_name` varchar(100) DEFAULT NULL COMMENT '短信模板名称',
        `sms_tmp_id` int(11) DEFAULT '0' COMMENT '短信模板id',
        `goods_name` varchar(100) DEFAULT NULL COMMENT '商品名称',
        `goods_id` int(11) DEFAULT '0' COMMENT '商品id',
        `express_status_desc` varchar(100) DEFAULT NULL COMMENT '订单状态',
        `express_status` int(11) DEFAULT '0' COMMENT '订单状态',
        `delay` int(11) DEFAULT '0' COMMENT '延长时间',
        `is_phone` char(1) DEFAULT '0' COMMENT '用户手机好 购买手机号',
        `shop_str` varchar(255) DEFAULT '0' COMMENT '店铺字符串 使用逗号隔开',
        `created_by` int(11) DEFAULT '0' COMMENT '创建者',
        `created_by_name` varchar(64) DEFAULT '' COMMENT '创建者名称',
        `created_at` datetime DEFAULT NULL COMMENT '创建时间',
        `updated_by` varchar(64) DEFAULT '' COMMENT '更新者',
        `updated_at` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
        `remark` varchar(500) DEFAULT NULL COMMENT '备注',
        PRIMARY KEY (`id`)
        ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COMMENT='商品表';";
        return $table;
    }
    /**
     * 插入新的字段
     */
    protected function bulidField()
    {
        //例子
        $array = [
            'shop_id' => "int(11) DEFAULT '0' COMMENT '店铺id'",
            'status' => "char(1) DEFAULT '0' COMMENT '是否上下架 1 下架 0 上架'",
            'dist_name' => "varchar(100) DEFAULT '0' COMMENT '代理商名称'",
            'dist_id' => "int(11) DEFAULT '0' COMMENT '分销商id'",
            'goods_code' => "varchar(255) DEFAULT null COMMENT '商品编码'",
            'product_id' => "int(11) DEFAULT null COMMENT '产品id'",
            'product_name' => "varchar(255) DEFAULT null COMMENT '产品名称'",
            'product_code' => "varchar(255) DEFAULT null COMMENT '产品编码'",
        ];
        return $array;
    }
    // 关联 role表
    public function userToRole($role)
    {
        // return $this->hasMany(Role::className(),);
    }
}
